/**
 */
package com.dingpeikeji.quickdeer.core.modules.vehi.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;

import com.dingpeikeji.quickdeer.core.common.persistence.DataEntity;
import com.dingpeikeji.quickdeer.core.modules.orders.entity.TOrders;
import com.dingpeikeji.quickdeer.core.modules.sys.entity.Office;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 车辆调度Entity
 * @author Zhaoy
 * @version 2016-07-01
 */
public class TRealscheVehis extends DataEntity<TRealscheVehis> {
	
	private static final long serialVersionUID = 1L;
	public static final String VEHI_ST_BOOKED = "1"; 	// 已预定
	public static final String VEHI_ST_STARTED = "2"; 	// 已发车
	public static final String VEHI_ST_CONFIRMED = "3"; // 已调度确定
	public static final String VEHI_ST_LOCKED = "4"; // 已锁定
	
	
	private String realvehiid;		// realvehiid
	private String realscheid;		// 实际班次id
	private Office office;		// 客运公司
	private String licno;		// 车牌号
	private String brandname;		// 车辆品牌
	private String vehiclename;		// 车辆型号
	private String seats;		// 座位数
	private String selloutseats;		// selloutseats
	private String lockedseats;		// lockedseats
	private String vehistatus;		// vehistatus
	private Date realdepart;		// realdepart
	private String maindriver;		//主驾
	private String drvssysid;		// drvssysid
	private String schename;		// 班次名称
	private Date departdate;		// 发车日期
	private Date departtime;		// 发车时间
	private TOrders orders;			//对应订单
	private String drvconfirmed;	//司机是否确认
	
	private String departdateStr; // 发车日期查询
	public TRealscheVehis() {
		super();
	}

	public TRealscheVehis(String id){
		super(id);
	}

	public String getRealvehiid() {
		return realvehiid;
	}

	public void setRealvehiid(String realvehiid) {
		this.realvehiid = realvehiid;
	}
	
	public String getRealscheid() {
		return realscheid;
	}

	public void setRealscheid(String realscheid) {
		this.realscheid = realscheid;
	}
	
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}
	
	@Length(min=0, max=20, message="车牌号长度必须介于 0 和 20 之间")
	public String getLicno() {
		return licno;
	}

	public void setLicno(String licno) {
		this.licno = licno;
	}
	
	@Length(min=1, max=50, message="车辆品牌长度必须介于 1 和 50 之间")
	public String getBrandname() {
		return brandname;
	}

	public void setBrandname(String brandname) {
		this.brandname = brandname;
	}
	
	@Length(min=1, max=200, message="车辆型号长度必须介于 1 和 200 之间")
	public String getVehiclename() {
		return vehiclename;
	}

	public void setVehiclename(String vehiclename) {
		this.vehiclename = vehiclename;
	}
	
	public String getSeats() {
		return seats;
	}

	public void setSeats(String seats) {
		this.seats = seats;
	}
	
	public String getSelloutseats() {
		return selloutseats;
	}

	public void setSelloutseats(String selloutseats) {
		this.selloutseats = selloutseats;
	}
	
	public String getLockedseats() {
		return lockedseats;
	}

	public void setLockedseats(String lockedseats) {
		this.lockedseats = lockedseats;
	}
	
	@Length(min=1, max=1, message="vehistatus长度必须介于 1 和 1 之间")
	public String getVehistatus() {
		return vehistatus;
	}

	public void setVehistatus(String vehistatus) {
		this.vehistatus = vehistatus;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getRealdepart() {
		return realdepart;
	}

	public void setRealdepart(Date realdepart) {
		this.realdepart = realdepart;
	}
	
	public String getDrvssysid() {
		return drvssysid;
	}

	public void setDrvssysid(String drvssysid) {
		this.drvssysid = drvssysid;
	}

	public String getSchename() {
		return schename;
	}

	public void setSchename(String schename) {
		this.schename = schename;
	}

	public Date getDepartdate() {
		return departdate;
	}

	public void setDepartdate(Date departdate) {
		this.departdate = departdate;
	}

	public String getDepartdateStr() {
		return departdateStr;
	}

	public void setDepartdateStr(String departdateStr) {
		this.departdateStr = departdateStr;
	}

	public Date getDeparttime() {
		return departtime;
	}

	public void setDeparttime(Date departtime) {
		this.departtime = departtime;
	}

	public TOrders getOrders() {
		return orders;
	}

	public void setOrders(TOrders orders) {
		this.orders = orders;
	}

	public String getMaindriver() {
		return maindriver;
	}

	public void setMaindriver(String maindriver) {
		this.maindriver = maindriver;
	}

	public String getDrvconfirmed() {
		return drvconfirmed;
	}

	public void setDrvconfirmed(String drvconfirmed) {
		this.drvconfirmed = drvconfirmed;
	}

}
